home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / Direct3D / MFCTex / texargs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-31  |  4.6 KB  |  150 lines

  1. //-----------------------------------------------------------------------------
  2. // File: TexArgs.h
  3. //
  4. // Desc: Header file to declare texture stage state arguments used for the app.
  5. //
  6. // Copyright (c) 1997-2001 Microsoft Corporation. All rights reserved.
  7. //-----------------------------------------------------------------------------
  8. #ifndef TEX_ARGS_H
  9. #define TEX_ARGS_H
  10.  
  11.  
  12.  
  13.  
  14. //-----------------------------------------------------------------------------
  15. // String arrays for filling the form's combo boxes
  16. //-----------------------------------------------------------------------------
  17. TCHAR* g_astrPresetEffects[] =
  18. {
  19.     _T("Modulate"), _T("Modulate Alpha"), _T("Add"), _T("Decal Alpha"), 
  20.     _T("Colored Light Map"), _T("Inverse Colored Light Map"), 
  21.     _T("Single Channel Light Map"), _T("Modulate and Late Add"),
  22.     _T("Linear Blend using Texture Alpha"), _T("Linear Blend using Diffuse Alpha"),
  23.     _T("Add with smooth saturation"), _T("Multitexture Subtract"),
  24.     _T("Add Diffuse to light map then modulate"), _T("Detail Modulate"), 
  25.     _T("Detail Add"),
  26.     NULL
  27. };
  28.  
  29. TCHAR* g_astrTextureOps[] =
  30. {
  31.     // Basics
  32.     _T("Disable"),
  33.     _T("Select Arg 1"),
  34.     _T("Select Arg 2"),
  35.  
  36.     // Modulate
  37.     _T("Modulate"),
  38.     _T("Modulate 2x"),
  39.     _T("Modulate 4x"), 
  40.     
  41.     // Add
  42.     _T("Add"),
  43.     _T("Add Signed"),
  44.     _T("Add Signed 2x"), 
  45.     _T("Subtract"),
  46.     _T("Add Smooth"), 
  47.     
  48.     // Linear alpha blend: Arg1*(Alpha) + Arg2*(1-Alpha)
  49.     _T("Blend Diffuse"),
  50.     _T("Blend Texture"),
  51.     _T("Blend Factor"),
  52.  
  53.     // Linear alpha blend with pre-multiplied arg1 input: Arg1 + Arg2*(1-Alpha)
  54.     _T("Blend Texture PM"),
  55.     _T("Blend Current PM"),
  56.     
  57.     // Specular mapping
  58.     _T("Premodulate"), 
  59.     _T("Modulate Alpha Add Color"),
  60.     _T("Modulate Color Add Alpha"), 
  61.     _T("Modulate Inv Alpha Add Color"),
  62.     _T("Modulate Inv Color Add Alpha"),
  63.  
  64.     // Bump mapping
  65.     _T("Bump EnvMap"),
  66.     _T("Bump EnvMap w/Luminance"),
  67.  
  68.     // DotProduct4
  69.     _T("DotProduct3"),
  70.  
  71.     NULL
  72. };
  73.  
  74. TCHAR* g_astrTextureArgs1[] =
  75. {
  76.     _T("Diffuse"), _T("Current"), _T("Texture"),
  77.     _T("Diffuse Inv"), _T("Current Inv"), _T("Texture Inv"),
  78.     _T("Tex w/Alpha"), NULL
  79. };
  80.  
  81. TCHAR* g_astrTextureArgs2[] =
  82. {
  83.     _T("Diffuse"), _T("Current"), _T("Factor"),
  84.     _T("Diffuse Inv"), _T("Current Inv"), _T("Factor Inv"),
  85.     _T("Diffuse w/Alpha"), _T("Current w/Alpha"), _T("Factor w/Alpha"),
  86.     NULL
  87. };
  88.  
  89.  
  90.  
  91.  
  92. //-----------------------------------------------------------------------------
  93. // D3DTOP values corresponding to the strings above for the dropdown lists
  94. //-----------------------------------------------------------------------------
  95. WORD aTexOps[] =
  96. {
  97.     NULL, D3DTOP_DISABLE, D3DTOP_SELECTARG1, D3DTOP_SELECTARG2,
  98.     D3DTOP_MODULATE, D3DTOP_MODULATE2X, D3DTOP_MODULATE4X,
  99.     D3DTOP_ADD, D3DTOP_ADDSIGNED, D3DTOP_ADDSIGNED2X, D3DTOP_SUBTRACT, 
  100.     D3DTOP_ADDSMOOTH, D3DTOP_BLENDDIFFUSEALPHA, D3DTOP_BLENDTEXTUREALPHA, 
  101.     D3DTOP_BLENDFACTORALPHA, D3DTOP_BLENDTEXTUREALPHAPM, 
  102.     D3DTOP_BLENDCURRENTALPHA, D3DTOP_PREMODULATE, 
  103.     D3DTOP_MODULATEALPHA_ADDCOLOR, D3DTOP_MODULATECOLOR_ADDALPHA,
  104.     D3DTOP_MODULATEINVALPHA_ADDCOLOR, D3DTOP_MODULATEINVCOLOR_ADDALPHA,
  105.     D3DTOP_BUMPENVMAP, D3DTOP_BUMPENVMAPLUMINANCE, D3DTOP_DOTPRODUCT3
  106. };
  107.  
  108. WORD aTexArgs1[] =
  109. {
  110.     NULL, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_TEXTURE,
  111.     D3DTA_DIFFUSE|D3DTA_COMPLEMENT, D3DTA_CURRENT|D3DTA_COMPLEMENT,
  112.     D3DTA_TEXTURE|D3DTA_COMPLEMENT, D3DTA_TEXTURE|D3DTA_ALPHAREPLICATE
  113. };
  114.  
  115. WORD aTexArgs2[] =
  116. {
  117.     NULL, D3DTA_DIFFUSE, D3DTA_CURRENT, D3DTA_TFACTOR,
  118.     D3DTA_COMPLEMENT|D3DTA_DIFFUSE, D3DTA_COMPLEMENT|D3DTA_CURRENT,
  119.         D3DTA_COMPLEMENT|D3DTA_TFACTOR,
  120.     D3DTA_ALPHAREPLICATE|D3DTA_DIFFUSE, D3DTA_ALPHAREPLICATE|D3DTA_CURRENT,
  121.         D3DTA_ALPHAREPLICATE|D3DTA_TFACTOR,
  122. };
  123.  
  124.  
  125.  
  126.  
  127.  
  128. //-----------------------------------------------------------------------------
  129. // Enumerated values to relate the combo box strings (listed above) with the
  130. // combo box indices.
  131. //-----------------------------------------------------------------------------
  132. enum _TEXOPS { toDISABLE, toSELECTARG1, toSELECTARG2,
  133.                toMODULATE, toMODULATE2X, toMODULATE4X, toADD,
  134.                toADDSIGNED, toADDSIGNED2X, toSUBTRACT,
  135.                toADDSMOOTH, toBLENDDIFFUSE, toBLENDTEXTURE,
  136.                toBLENDFACTOR };
  137.  
  138. enum _TEXARGS1 { ta1DIFFUSE, ta1CURRENT, ta1TEXTURE, ta1INVDIFFUSE,
  139.                 ta1INVCURRENT, ta1INVTEXTURE, ta1ALPHATEXTURE };
  140.  
  141. enum _TEXARGS2 { ta2DIFFUSE, ta2CURRENT, ta2FACTOR,
  142.                  ta2INVDIFFUSE, ta2INVCURRENT, ta2INVFACTOR,
  143.                  ta2ALPHADIFFUSE, ta2ALPHACURRENT, ta2ALPHAFACTOR };
  144.  
  145.  
  146.  
  147.  
  148. #endif
  149.  
  150.